var MakeClass = function(){
	return function( args ){
		if( this instanceof arguments.callee ){
			if( typeof this.__construct == "function" ) this.__construct.apply( this, args );
		}else return new arguments.callee( arguments );
	};
}

var NewClass = function( variables, constructor, functions ){
	var retn = MakeClass();
	for( var key in variables ){
		retn.prototype[key] = variables[key];
	}
	for( var key in functions ){
		retn.prototype[key] = functions[key];
	}
	retn.prototype.__construct = constructor;
	return retn;
}

//----------------------------------
var ClassDoorFilling = NewClass( {
	"css_width": null,
	"css_height": null,
	"css_left": null,
    "css_top": null,
    "id_canvas": null,
    "id_map": null
}, function( x, y ){/*Функция конструктор класса*/
	this.x = x;
	this.y = y;
	alert( this.Variable2 );
	this.show();
},{/*Методы класса*/
	"show": function(){
		alert( this.Variable1 );
		alert( "x = " + this.x + ", and y = " + this.y );
	},
	"increase": function( x, y ){
		this.x += x;
		this.y += y;
	}
});


var MyClass = NewClass( {
	/*Список переменных*/
	"door_": 'I,m is variable number one!',
	"Variable2": 'I,m is variable number two!'
}, function( x, y ){/*Функция конструктор класса*/
	this.x = x;
	this.y = y;
	alert( this.Variable2 );
	this.show();
},{/*Методы класса*/
	"show": function(){
		alert( this.Variable1 );
		alert( "x = " + this.x + ", and y = " + this.y );
	},
	"increase": function( x, y ){
		this.x += x;
		this.y += y;
	}
});

var MyClass3 = NewClass( {
	/*Список переменных*/
	"my": null,
	"Variable2": 'I,m is variable number two!'
}, function(){
    this.my = this;
},{/*Методы класса*/
	"aa": function(){
        alert("Handler for .click() called.");
	},
	"tt": function( ){
		
	}
});

var MyClass2 = NewClass( {
	/*Список переменных*/
	"my": null,
	"Variable2": 'I,m is variable number two!'
}, function(){
    this.my = this;
},{/*Методы класса*/
	"ff": function(){
        this.my = MyClass3();
        
		$("#wrapper_test").click(function() {
            my.aa();
        });
	},
	"tt": function( ){
		alert("Handler for .click() called.");
	}
});

var test1 = null;

$(function(){
    k = '#wrapper_test';
    $(k).click(function() {
        alert('s');
    });
});